unit testing the components